package com.sumainfor.pc.gmio.dao;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @Author PuaChen
 * @Create 2019-01-23 18:00
 * 业主账单审核
 */
public interface BillReviewMapper {

    /**
     * 查询账单审核列表数据
     *
     * @param page
     * @param state
     * @return
     */
    IPage<Map<String, Object>> selectTableList(Page page, @Param("state") Integer state, @Param("hIds") Set<String> hIds);


    /**
     * 查询临时账单编号
     *
     * @param outId
     * @return
     */
    String getTempId(String outId);

    /**
     * 上传交易凭证
     *
     * @param outId
     * @param url
     * @param userId
     * @return
     */
    int updateBillOut(@Param("outId") String outId,  @Param("userId") String userId);

    /**
     * 更新临时表状态为支付
     *
     * @param temId
     * @param url
     * @return
     */
    int updateBillTempOut(@Param("temId") String temId);

    /**
     * 根据房源编号查询房源支出
     **/
    List<Map<String, Object>> getOutByHouId (Map<String, Object> params);

    /**
     * @description:根据业主合同编码，修改业主的所有未支付的账单为已废弃
     * @param
     * @return java.lang.Integer
     * @author zhlu
     * @date 2019/9/17 15:17
     */
    Integer updateRelationByBill(Map<String,Object>params);

    /**
     * @description:唐巢支出账单:tcgmio_bill_outlay
     * @param params
     * @return java.lang.Integer
     * @author zhlu
     * @date 2019/9/17 15:52
     */
    Integer addBillOut(Map<String, Object> params);

    /**
     * @description:唐巢收入账单:tcgmio_tenant_bill
     * @param params
     * @return java.lang.Integer
     * @author zhlu
     * @date 2019/9/17 15:52
     */
    Integer addBillPut(Map<String, Object> params);
}
